package com.urbanairship.api.reports.model;
import org.joda.time.DateTime;
import org.joda.time.format.DateTimeFormat;
import org.joda.time.format.DateTimeFormatter;
import org.junit.Test;
import java.util.UUID;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertTrue;
public class PushInfoResponseTest {
@Test
public void testPushInfoResponseBuilder() {
UUID one = UUID.randomUUID();
UUID two = UUID.randomUUID();
DateTimeFormatter formatter = DateTimeFormat.forPattern("yyyy-MM-dd HH:mm:ss");
DateTime dt = formatter.parseDateTime("2013-07-31 21:27:38");
PushInfoResponse obj = PushInfoResponse.newBuilder()
.setPushId(one)
.setDirectResponses(4)
.setSends(5)
.setPushType(PushInfoResponse.PushType.UNICAST_PUSH)
.setPushTime("2013-07-31 21:27:38")
.setGroupId(two)
.build();
assertNotNull(obj);
assertEquals(one, obj.getPushId());
assertEquals(4, obj.getDirectResponses());
assertEquals(5, obj.getSends());
assertEquals(PushInfoResponse.PushType.UNICAST_PUSH, obj.getPushType());
assertEquals(dt, obj.getPushTime());
assertTrue(obj.getGroupID().isPresent());
assertEquals(two, obj.getGroupID().get());
}
@Test
public void testPushInfoResponseBuilderNoGroupID() {
UUID one = UUID.randomUUID();
DateTimeFormatter formatter = DateTimeFormat.forPattern("yyyy-MM-dd HH:mm:ss");
DateTime dt = formatter.parseDateTime("2013-07-31 21:27:38");
PushInfoResponse obj = PushInfoResponse.newBuilder()
.setPushId(one)
.setSends(5)
.setPushType(PushInfoResponse.PushType.UNICAST_PUSH)
.setPushTime("2013-07-31 21:27:38")
.build();
assertNotNull(obj);
assertEquals(one, obj.getPushId());
assertEquals(5, obj.getSends());
assertEquals(PushInfoResponse.PushType.UNICAST_PUSH, obj.getPushType());
assertEquals(dt, obj.getPushTime());
assertFalse(obj.getGroupID().isPresent());
}
}